package com.ruoyi.merchant.domain.dto;

import lombok.Data;

import javax.validation.Valid;
import javax.validation.constraints.DecimalMin;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.List;

/**
 * 套餐提交DTO（新增/修改）
 */
@Data
public class ComboSubmitDTO {
    /** 套餐ID（修改时必填） */
    private Long comboId;

    /** 套餐名称 */
    @NotBlank(message = "套餐名称不能为空")
    private String name;

    /** 描述 */
    private String description;

    /** 图片URL */
    private String imageUrl;

    /** 市场价 */
    @NotNull(message = "市场价不能为空")
    @DecimalMin(value = "0.00", message = "市场价不能小于0")
    private BigDecimal marketPrice;

    /** 区域价 */
    @NotNull(message = "区域价不能为空")
    @DecimalMin(value = "0.00", message = "区域价不能小于0")
    private BigDecimal regionPrice;

    /** 排序 */
    private Integer sortOrder;

    /** 套餐商品列表 */
    @NotEmpty(message = "至少需要一个商品")
    @Valid
    private List<ComboProductDTO> products;
}

